1. Field of the Invention
The present invention relates to data systems in general, and, in more particular, a mechanism for substituting tables such that two separate enterprise applications may access the same tables using a common database instance.
2. Background Information
There are many instances in which corporate enterprises spend a large amount of resources supporting a particular software application or suite of applications. Oftentimes, such software applications are proprietary and do not provide interfaces that enable other applications to access data stored by the applications. Typically, in order to enhance performance (e.g., through faster operation or new features) the corporate enterprise must continue to purchase new versions of the applications and/or purchase productivity tools from the software vendor who produces the application or a third party that provides such tools. In other instances, new enhancements may be provided by in-house IT staff.
With the emergence of e-business and the exponential growth of information technology, new techniques and methodologies have been developed to enhance the performance of business applications and integrated application systems in a wide range of industries, including manufacturing, marketing, and sales. In most instances, the new techniques and methodologies are implemented using new applications that store data in particular formats that are optimized for use with those applications. Generally, these data formats and architectures correspond to different data models that are defined in a manner that makes it impractical or impossible to share data between applications. This becomes particularly problematic for those enterprises that have been using a certain application or application systems for years, such as a manufacturing processing tool or a large customer database application, and have a great deal of data that has been generated through use of the tool or application and stored in a large data store: the new improved tool or application cannot access the existing data in a reliable or useful manner, and years or even decades of information must be re-entered into the new system.
Ideally, it would be beneficial to enable both existing and new application systems to share the same data. One approach to this end is to periodically “synchronize” the data in both system databases through a replication process, wherein table data are exported from each of the respective databases and imported into the other database using specially developed business logic on both ends that reconfigures the imported data to meet the native format used in each system's data model. In general, this is a burdensome task, both in developing the special business logic and administrating the replication process. It also adds overhead to each database, as large imports and exports are very transaction intensive. Furthermore, in reality the databases are never fully synchronized, since each export represents a “snapshot” of the data in each table at the time that data is retrieved by the export tool, which will have changed by the time the replication process is completed.